iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
Security

資安新手的試煉之路系列 第 9

資安新手的試煉之路 Day 9

  • 分享至 

  • xImage
  •  

今天我們來介紹一下古典密碼學8~~~


古典密碼學

定義與背景

古典密碼學(Classical Cryptography)是現代密碼學的前身,指的是在電腦出現之前,用於保護通信信息的手動或機械加密技術。這些加密方法通常基於字母和符號的替換、重排,並不依賴於複雜的數學運算。雖然在當代已被更強大的算法取代,但古典密碼學在歷史上扮演了重要角色,並且在CTF競賽和教育中仍然被廣泛使用。

常見的古典密碼學算法

  1. 凱撒密碼(Caesar Cipher)
    凱撒密碼是最簡單的替換密碼之一,它將字母表中的每個字母按固定步數向後平移。例如,如果密鑰是3,則A會被加密為D,B加密為E,依此類推。這種加密方式易於理解和實現,但其安全性極低,因為攻擊者可以通過嘗試所有可能的偏移量進行暴力破解。

    • 解密方法:嘗試所有可能的位移值,直到找到可讀的明文。由於只有25種可能的偏移量,因此非常容易破解。
  2. 維吉尼亞密碼(Vigenère Cipher)
    維吉尼亞密碼是一種多表替換加密方法,它使用一個密鑰來決定字母的偏移量。密鑰可以是單詞或短語,每個字母根據密鑰中的字母進行相應的位移,這使得單一字母表的頻率分析難以破解。雖然比凱撒密碼更複雜,但仍然容易受到頻率分析的攻擊,尤其是當密鑰長度短時。

    • 解密方法:當密鑰長度未知時,可以使用卡西斯基試驗(Kasiski Examination)或重複字母的頻率分析來推斷密鑰長度,然後針對每個子字母表進行單獨破解。
  3. 單表替換密碼(Monoalphabetic Substitution Cipher)
    單表替換密碼是將字母表中的每個字母替換為另一個字母,但每個字母的替換規則是隨機的或基於一個密鑰。與凱撒密碼相比,這種替換方式不再簡單地進行位移,而是每個字母被替換為一個特定的對應字母。儘管這種加密方式增加了破解難度,但依然可以使用頻率分析來攻擊,因為每個字母的替換是固定的。

    • 解密方法:使用頻率分析,即根據加密文本中字母出現的頻率來推測原始字母。例如,在英語中,E、T、A等字母出現的頻率較高,這可以幫助猜測替換規則。
  4. 轉位密碼(Transposition Cipher)
    轉位密碼並不替換字母,而是通過改變字母的位置來加密信息。例如,列式轉位密碼(Columnar Transposition Cipher)會將明文寫入一個特定列數的矩陣中,然後按列讀取進行加密。這類密碼雖然保持了字母的原樣,但打亂了字母的順序。

    • 解密方法:通過識別加密文本中的重複模式和字母排列規律,嘗試重構原始的字母位置。
  5. Playfair 密碼
    Playfair 密碼是一種基於5x5矩陣的雙字母加密技術,該矩陣由密鑰生成,並用來替換明文中相鄰的字母對(digraph)。當字母對位於同一行或列時,按照矩陣中的位置進行位移;若位於不同行列,則以矩形規則進行加密。這使得Playfair比單表替換更複雜,且難以單純通過頻率分析破解。

    • 解密方法:若能推斷出密鑰或5x5矩陣,則可逐步解密字母對;也可以通過字母對出現的頻率進行部分破解。
  6. 希爾密碼(Hill Cipher)
    希爾密碼是一種基於線性代數的多表替換密碼,通過使用密鑰矩陣進行加密。每個明文字母都可以看作向量,而密鑰矩陣則用來對該向量進行線性變換,生成密文。希爾密碼的安全性取決於密鑰矩陣的大小,但它仍然容易受到已知明文攻擊。

    • 解密方法:若已知部分明文及其對應的密文,則可以通過解方程組推斷出密鑰矩陣。

常見的攻擊技術

  1. 頻率分析(Frequency Analysis)
    頻率分析是針對替換密碼的主要攻擊手段,特別是在英語等語言中,某些字母的出現頻率較高,如E、T、A等。通過對加密文本中字母頻率的統計,攻擊者可以推斷出加密規則。這種技術尤其適用於單表替換和凱撒密碼。

  2. 卡西斯基試驗(Kasiski Examination)
    卡西斯基試驗是一種針對維吉尼亞密碼的攻擊技術。當密鑰重複時,加密文本中會出現相同的字母序列。攻擊者可以通過找出這些重複序列的間距來推斷密鑰長度,然後使用頻率分析來破解每個子字母表。

  3. 重複字母的分析
    在轉位密碼中,某些字母或字母組合的重複出現可能揭示加密方式的模式。通過分析重複字母的位置和模式,攻擊者可以推測字母被重新排列的規則。

  4. 暴力破解(Brute Force)
    對於簡單的古典密碼學算法,如凱撒密碼或短密鑰的維吉尼亞密碼,攻擊者可以使用暴力破解方法,嘗試所有可能的密鑰直到找到正確的解密文本。

古典密碼學的現代應用

儘管古典密碼學在現代已經被更強大的加密技術取代,但它仍然在某些情況下具有教育意義和實用價值。在CTF競賽中,古典密碼學題目往往用來測試選手的分析能力和密碼破解技巧。此外,古典密碼學的概念也是理解現代密碼學的基礎,許多現代算法的設計靈感來自這些早期技術。


上一篇
資安新手的試煉之路 Day 8
下一篇
資安新手的試煉之路 Day 10
系列文
資安新手的試煉之路29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言